﻿<!DOCTYPE HTML>
<html lang="zh">
<head>
<title>GetKeySC - 语法 &amp; 使用 | AutoHotkey v2</title>
<meta name="description" content="The GetKeySC function retrieves the scan code of a key." />
<meta name="ahk:equiv-v1" content="lib/GetKey.htm" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link href="../static/theme.css" rel="stylesheet" type="text/css" />
<script src="../static/content.js" type="text/javascript"></script>
</head>
<body>

<h1>GetKeySC</h1>

<p>检索按键的扫描码.</p>

<pre class="Syntax">SC := <span class="func">GetKeySC</span>(KeyName)</pre>
<h2 id="Parameters">参数</h2>
<dl>

  <dt>KeyName</dt>
  <dd>
    <p>类型: <a href="../Concepts.htm#strings">字符串</a></p>
    <p><a href="../KeyList.htm">按键列表</a>中的任意单个字符或一个按键的名称. 例如: B, 5, LWin, RControl, Alt, Enter, Escape.</p>
    <p>或者, 可以指定显式虚拟键码(如 vkFF), 或显式扫描码(如 sc01D), 或 VK 和 SC 的组合(按该顺序, 如 vk1Bsc001). 请注意, 这些代码必须是十六进制的.</p>
  </dd>

</dl>

<h2 id="Return_Value">返回值</h2>
<p>类型: <a href="../Concepts.htm#numbers">整数</a></p>
<p>函数返回指定按键的扫描码, 如果按键无效或没有扫描码, 则返回 0.</p>

<h2 id="Remarks">备注</h2>
<p>在用 <a href="Hotkey.htm">Hotkey</a> 或 <a href="GetKeyState.htm">GetKeyState</a> 等内置函数使用扫描码之前, 必须首先将其转换为十六进制格式, 例如使用 <code>Format("vk{:X}", vk_code)</code>. 相比之下, 通过 <a href="DllCall.htm">DllCall</a> 调用的外部函数通常直接使用数字值.</p>
<p>如果 <em>KeyName</em> 对应于虚拟键码或单个字符, 该函数将通过调用特定的系统函数(该函数引用脚本当前的键盘布局) 来将该值映射到扫描码. 这可能与活动窗口的键盘布局不同.</p>
<p>如果 <em>KeyName</em> 是 A-Z 范围内的 ASCII 字母, 并且在键盘布局中没有映射, 则使用 vk41-vk5A 范围内相应的虚拟键作为备用.</p>
<p>有些键盘布局没有定义虚拟键码到扫描码的 1:1 映射. 当可能有多种解释时, 底层系统函数很可能根据键盘布局中定义的顺序选择一种, 这并不总是最常见或最合理的选择.</p>

<h2 id="Related">相关</h2>
<p><a href="GetKeyVK.htm">GetKeyVK</a>, <a href="GetKeyName.htm">GetKeyName</a>, <a href="GetKeyState.htm">GetKeyState</a>, <a href="../KeyList.htm">Key List</a>, <a href="Format.htm">Format</a></p>
<h2 id="Examples">示例</h2>
<div class="ex" id="ExBasic">
<p><a class="ex_number" href="#ExBasic"></a> 检索并报告左 <kbd>Ctrl</kbd> 的十六进制扫描码.</p>
<pre>sc_code := GetKeySC("LControl")
MsgBox Format("sc{:X}", sc_code) <em>; 报告 sc1D</em></pre>
</div>

</body>
</html>